﻿using System;
using System.ComponentModel.DataAnnotations;
using NandleNF.DataType.Fornecedor;

namespace NandleNF.DataType.Produto
{
    [Serializable()]
    [Table("Produto")]
    public class TProduto
    {
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public Int32 ProdutoID { get; set; }

        [Required]
        [StringLength(120)]
        public String Nome { get; set; }

        [StringLength(255)]
        public String Descricao { get; set; }

        [Required]
        public TFornecedor Fornecedor { get; set; }

        [Required]
        public TPreco Preco { get; set; }

        [Required]
        public TUnidadeComercializacao UnidadeComercializacao { get; set; }

        [StringLength(15)]
        public String Altura { get; set; }

        [StringLength(15)]
        public String Largura { get; set; }

        [StringLength(15)]
        public String Comprimento { get; set; }

        public Decimal PesoBruto { get; set; }

        public Decimal PesoLiquido { get; set; }

        [StringLength(255)]
        public String Observacao { get; set; }

        [Required]
        public Boolean IsAtivo { get; set; }

        #region [ Auditoria ]

        public System.Nullable<DateTime> DataInclusao { get; set; }

        [StringLength(15)]
        public String IpUsuarioInclusao { get; set; }

        [StringLength(30)]
        public String NomeUsuarioInclusao { get; set; }

        public DateTime DataAlteracao { get; set; }

        [StringLength(15)]
        public String IpUsuarioAlteracao { get; set; }

        [StringLength(30)]
        public String NomeUsuarioAlteracao { get; set; }

        #endregion
    }
}
